{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "286fb97f",
   "metadata": {},
   "source": [
    "# API 文档介绍（Face++ API）\n",
    "* 本周主要内容：图像识别（认知服务）\n",
    "* 22春_API_人工智能与机器学习_week05\n",
    "* 电子讲义设计者：vin"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54b61c91",
   "metadata": {},
   "source": [
    "# 百度AI开放平台\n",
    "## 通用物体和场景识别\n",
    "* 接口描述\n",
    "> 该请求用于通用物体及场景识别，即对于输入的一张图片（可正常解码，且长宽比适宜），输出图片中的多个物体及场景标签。\n",
    "\n",
    "- 请求示例\n",
    "> HTTP 方法：POST\n",
    "\n",
    "- 请求URL\n",
    "> https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d45c867f",
   "metadata": {},
   "source": [
    "## 鉴权认证机制(access_token)\n",
    "- 获取Access Token\n",
    "- 获取access_token示例代码:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "573376fb",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:41:55.915381Z",
     "start_time": "2022-03-29T12:41:54.063848Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'refresh_token': '25.4a48fb5b4654bd6131082c57404a47fb.315360000.1963917715.282335-25869156', 'expires_in': 2592000, 'session_key': '9mzdCrcjRr/BSJmwQ+fSuPxLPkW2tnXz27ElUUCl1fWyQakPi6e5DDEfN2PDiSfUj1F/gGghCaUZYjC0TzP2QXgF00K3jQ==', 'access_token': '24.131f47aecd346a0b71e83320842f431b.2592000.1651149715.282335-25869156', 'scope': 'public vis-classify_dishes vis-classify_car brain_all_scope vis-classify_animal vis-classify_plant brain_object_detect brain_realtime_logo brain_dish_detect brain_car_detect brain_animal_classify brain_plant_classify brain_ingredient brain_advanced_general_classify brain_custom_dish brain_poi_recognize brain_vehicle_detect brain_redwine brain_currency brain_vehicle_damage brain_multi_ object_detect wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test权限 vis-classify_flower lpq_开放 cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base smartapp_mapp_dev_manage iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_开放Scope vis-ocr_虚拟人物助理 idl-video_虚拟人物助理 smartapp_component smartapp_search_plugin avatar_video_test b2b_tp_openapi b2b_tp_openapi_online', 'session_secret': '62b7d57af41ac1c0eb47622d8568bf80'}\n"
     ]
    }
   ],
   "source": [
    "# 获取Access Token\n",
    "\n",
    "\n",
    "# encoding:utf-8\n",
    "import requests \n",
    "\n",
    "# client_id 为官网获取的AK， client_secret 为官网获取的SK\n",
    "host = 'https://aip.baidubce.com/oauth/2.0/token?'\n",
    "\n",
    "# 准备url参数（酬载）\n",
    "payload = {\n",
    "    'grant_type':'client_credentials',\n",
    "    'client_id':'sto3VO1TvSiDDIE3RA8i6qfU',\n",
    "    'client_secret':'xi0CNxM1wdIkvh4ciiKCN69pU0TRYoHh'\n",
    "}\n",
    "\n",
    "response = requests.get(host,params=payload)\n",
    "if response:\n",
    "    print(response.json())\n",
    "    access_token = response.json()['access_token']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "ad052d6b",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:41:55.963392Z",
     "start_time": "2022-03-29T12:41:55.950389Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'24.131f47aecd346a0b71e83320842f431b.2592000.1651149715.282335-25869156'"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "access_token"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3fec83a7",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:17:03.863749Z",
     "start_time": "2022-03-29T12:17:03.443895Z"
    }
   },
   "source": [
    "## 请求参数\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "05f26f01",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:41:56.009403Z",
     "start_time": "2022-03-29T12:41:55.998401Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "e099d59c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:42:02.871078Z",
     "start_time": "2022-03-29T12:41:56.044412Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[             参数                                                  值\n",
       " 0  access_token  通过API Key和Secret Key获取的access_token,参考“Access ...,\n",
       "              参数                                  值\n",
       " 0  Content-Type  application/x-www-form-urlencoded,\n",
       "           参数       是否必选       类型 可选值范围  \\\n",
       " 0      image    和url二选一   string     -   \n",
       " 1        url  和image二选一   string     -   \n",
       " 2  baike_num          否  integer     -   \n",
       " \n",
       "                                                   说明  \n",
       " 0  图像数据，base64编码，要求base64编码后大小不超过4M，最短边至少15px，最长边...  \n",
       " 1  图片完整URL，URL长度不超过1024字节，URL对应的图片base64编码后大小不超过4...  \n",
       " 2                                   返回百科信息的结果数，默认不返回  ,\n",
       "               字段 是否必选             类型                               说明\n",
       " 0         log_id    是         uint64                 唯一的log id，用于问题定位\n",
       " 1     result_num    是         unit32  返回结果数目，及result数组中的元素个数，最多返回5个结果\n",
       " 2         result    是  arrry(object)                           标签结果数组\n",
       " 3       +keyword    是         string                      图片中的物体或场景名称\n",
       " 4         +score    是          float                          置信度，0-1\n",
       " 5          +root    是         string   识别结果的上层标签，有部分钱币、动漫、烟酒等tag无上层标签\n",
       " 6    +baike_info    否         object                    对应识别结果的百科词条名称\n",
       " 7    ++baike_url    否         string                   对应识别结果百度百科页面链接\n",
       " 8    ++image_url    否         string                     对应识别结果百科图片链接\n",
       " 9  ++description    否         string                     对应识别结果百科内容描述]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.read_html('https://ai.baidu.com/ai-doc/IMAGERECOGNITION/Xk3bcxe21')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "415e914b",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:42:06.195621Z",
     "start_time": "2022-03-29T12:42:02.922091Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>参数</th>\n",
       "      <th>是否必选</th>\n",
       "      <th>类型</th>\n",
       "      <th>可选值范围</th>\n",
       "      <th>说明</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>image</td>\n",
       "      <td>和url二选一</td>\n",
       "      <td>string</td>\n",
       "      <td>-</td>\n",
       "      <td>图像数据，base64编码，要求base64编码后大小不超过4M，最短边至少15px，最长边...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>url</td>\n",
       "      <td>和image二选一</td>\n",
       "      <td>string</td>\n",
       "      <td>-</td>\n",
       "      <td>图片完整URL，URL长度不超过1024字节，URL对应的图片base64编码后大小不超过4...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>baike_num</td>\n",
       "      <td>否</td>\n",
       "      <td>integer</td>\n",
       "      <td>-</td>\n",
       "      <td>返回百科信息的结果数，默认不返回</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          参数       是否必选       类型 可选值范围  \\\n",
       "0      image    和url二选一   string     -   \n",
       "1        url  和image二选一   string     -   \n",
       "2  baike_num          否  integer     -   \n",
       "\n",
       "                                                  说明  \n",
       "0  图像数据，base64编码，要求base64编码后大小不超过4M，最短边至少15px，最长边...  \n",
       "1  图片完整URL，URL长度不超过1024字节，URL对应的图片base64编码后大小不超过4...  \n",
       "2                                   返回百科信息的结果数，默认不返回  "
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.read_html('https://ai.baidu.com/ai-doc/IMAGERECOGNITION/Xk3bcxe21')[2]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "23af1340",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:22:26.206777Z",
     "start_time": "2022-03-29T12:22:26.048234Z"
    }
   },
   "source": [
    "## 示例代码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "cd4146b5",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:42:07.479410Z",
     "start_time": "2022-03-29T12:42:06.231615Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'result_num': 5, 'result': [{'keyword': '海洋', 'score': 0.79363, 'root': '自然风景-海洋'}, {'keyword': '湖泊', 'score': 0.624251, 'root': '自然风景-湖泊'}, {'keyword': '港口码头', 'score': 0.431996, 'root': '建筑-现代建筑'}, {'keyword': '天空', 'score': 0.217853, 'root': '自然风景-天空'}, {'keyword': '桥梁', 'score': 0.038132, 'root': '建筑-现代建筑'}], 'log_id': 1508786581743142223}\n"
     ]
    }
   ],
   "source": [
    "import requests\n",
    "import base64\n",
    "\n",
    "'''\n",
    "通用物体和场景识别\n",
    "'''\n",
    "\n",
    "request_url = \"https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general\"\n",
    "\n",
    "# 二进制方式打开图片文件\n",
    "# 绝对路径\n",
    "# f = open('D:\\API\\week05\\xihu.jpg', 'rb')\n",
    "# 相对路径\n",
    "f = open('xihu.jpg', 'rb')\n",
    "img = base64.b64encode(f.read())\n",
    "\n",
    "\n",
    "\n",
    "# 写url的参数（酬载）\n",
    "payload={\n",
    "    'access_token':access_token,\n",
    "    'image':img\n",
    "    \n",
    "}\n",
    "\n",
    "headers = {'content-type': 'application/x-www-form-urlencoded'}\n",
    "response = requests.post(request_url, params=payload, headers=headers)\n",
    "if response:\n",
    "    print (response.json())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "7f928a2a",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:43:04.926816Z",
     "start_time": "2022-03-29T12:43:02.917749Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'result_num': 5, 'result': [{'keyword': '海洋', 'score': 0.79363, 'root': '自然风景-海洋', 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E6%B5%B7%E6%B4%8B/523', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/77094b36acaf2eddba6728be871001e9380193d6', 'description': '海洋(sea)，地理名词，是地球上最广阔的水体的总称。地球表面被各大陆地分隔为彼此相通的广大水域称为海洋，海洋的中心部分称作洋，边缘部分称作海，彼此沟通组成统一的水体。地球上海洋总面积约为3.6亿平方千米，约占地球表面积的71%，平均水深约3795米。海洋中含有十三亿五千多万立方千米的水，约占地球上总水量的97%，而可用于人类饮用只占2%。地球四个主要的大洋为太平洋、大西洋、印度洋、北冰洋，大部分以陆地和海底地形线为界。当今人类已探索的海底只有5%，还有95%大海的海底是未知的。'}}, {'keyword': '湖泊', 'score': 0.624251, 'root': '自然风景-湖泊', 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E6%B9%96%E6%B3%8A/242936', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/8435e5dde71190ef635cd56ccd1b9d16fcfa60d9', 'description': '湖盆及其承纳的水体。湖盆是地表相对封闭可蓄水的天然洼池。湖泊按成因可分为构造湖、火山口湖、冰川湖、堰塞湖、喀斯特湖、河成湖、风成湖、海成湖和人工湖(水库)等。按泄水情况可分为外流湖(吞吐湖)和内陆湖；按湖水含盐度可分为淡水湖(含盐度小于1g/L)、咸水湖(含盐度为1-35g/L)和盐湖(含盐度大于35g/L)。湖水的来源是降水、地面径流、地下水，有的则来自冰雪融水。湖水的消耗主要是蒸发、渗漏、排泄和开发利用。'}}, {'keyword': '港口码头', 'score': 0.431996, 'root': '建筑-现代建筑', 'baike_info': {}}, {'keyword': '天空', 'score': 0.217853, 'root': '自然风景-天空', 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E5%A4%A9%E7%A9%BA/5534', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/241f95cad1c8a7868fa019076909c93d70cf5034', 'description': '天空，汉语词汇，拼音tiān kōng，谓天际空阔；日月星辰罗列的广大空间。是地球重要的组成部分，在古代中国有天圆地方的说法。人可以在天空观测气象或天文现象，从而得知天气变化、时间的流逝或自己的方位。日出日落可知一日中的时间，晚上月亮的盈亏可以知道一个月的时间。北斗星可以指示北方。云的厚度和形状可以知道会否下雨。 在天空可以欣赏到许多美丽的现象，如彩虹、极光和流星雨等。雀鸟会在天空飞翔。 由于石油等化石性燃料使用的增加而产生的悬浮质，特别是那些会在燃烧后释放二氧化硫的煤等燃料的影响，自1973年以来，除了欧洲，天空的能见度正在逐步降低。'}}, {'keyword': '桥梁', 'score': 0.038132, 'root': '建筑-现代建筑', 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E6%A1%A5%E6%A2%81/2054921', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/ae51f3deb48f8c54c5bbc8c630292df5e1fe7fea', 'description': '桥梁，一般指架设在江河湖海上，使车辆行人等能顺利通行的构筑物。为适应现代高速发展的交通行业，桥梁亦引申为跨越山涧、不良地质或满足其他交通需要而架设的使通行更加便捷的建筑物。桥梁一般由上部构造、下部结构、支座和附属构造物组成，上部结构又称桥跨结构，是跨越障碍的主要结构；下部结构包括桥台、桥墩和基础；支座为桥跨结构与桥墩或桥台的支承处所设置的传力装置；附属构造物则指桥头搭板、锥形护坡、护岸、导流工程等。'}}], 'log_id': 1508786820113536333}\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# 绝对路径\n",
    "# f = open('D:\\API\\week05\\xihu.jpg', 'rb')\n",
    "# 相对路径\n",
    "f = open('xihu.jpg', 'rb')\n",
    "img = base64.b64encode(f.read())\n",
    "\n",
    "\n",
    "\n",
    "# 写url的参数（酬载）\n",
    "payload={\n",
    "    'access_token':access_token,\n",
    "    'image':img,\n",
    "    'baike_num':5\n",
    "    \n",
    "}\n",
    "\n",
    "headers = {'content-type': 'application/x-www-form-urlencoded'}\n",
    "response = requests.post(request_url, params=payload, headers=headers)\n",
    "if response:\n",
    "    print (response.json())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fc2ca1be",
   "metadata": {},
   "source": [
    "## 植物识别"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "0586e56d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-03-29T12:53:52.305693Z",
     "start_time": "2022-03-29T12:53:50.899448Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'result': [{'name': '蓝石莲', 'score': 0.57285845, 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E8%93%9D%E7%9F%B3%E8%8E%B2/6617821', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/b03533fa828ba61ea8d3db91337d800a304e251ff37e', 'description': \"蓝石莲(学名：Echeveria peacockii 'Desmetiana')是景天科、拟石莲花属的多肉植物。茎部粗壮，成熟植株茎部木质化。叶片莲座型密集排列，株径不会很大，叶片相对较薄，常年绿色(新叶色浅、老叶色深)，表面布有白色粉末，中部凹陷，呈倒水滴状。叶尖较尖，叶缘光滑无褶皱，叶片有微白粉，老叶白粉掉落后呈现光滑状。花粉红色，呈钟状。原产于墨西哥。蓝石莲适于生长在阳光充足的地方，喜温暖、干燥和阳光充足的环境，耐干旱，不耐寒，稍耐半阴。蓝石莲可盆栽观赏，也可与生态习性相似的多肉植物组合，做成组合盆栽、花篮等造型，还可做成花艺艺术品，可放置于客厅、书桌、桌案、几架、窗台、阳台等通风良好、光照较充足的环境中，搭配茶具等效果更佳。还可用于布置岩石园、沙生植物园以及各种庆典等场所。(概述图参考来源：)\"}}, {'name': '紫珍珠', 'score': 0.23877344, 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E7%B4%AB%E7%8F%8D%E7%8F%A0/4527869', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/6609c93d70cf3bc7e65cbb4dd500baa1cd112a36', 'description': '紫珍珠(Echeveria ‘Perle von Nürnberg’)景天科拟石莲花属的多肉植物 ，别称是纽伦堡珍珠。紫罗兰色的叶片使得这个品种具有非常强的观赏性。一种拥有美丽的粉紫色叶片的多肉植物，叶缘呈白色。叶片呈莲座形螺旋排列。'}}, {'name': '露娜莲', 'score': 0.15082905, 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E9%9C%B2%E5%A8%9C%E8%8E%B2/2612044', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/738b4710b912c8fcf07653c5fa039245d6882134', 'description': \"露娜莲(Echeveria 'Lola')是景天科拟石莲花属的多肉植物，由丽娜莲,静夜杂交而来。培育者为美国加利福尼亚州的育种师Dick Wright。灰绿色的叶片排列紧密，轮廓精致优雅，在阳光充足的环境下会呈现出优雅的藕荷色，颇似玉制的小玫瑰。是拟石莲花属中的代表品种之一。\"}}, {'name': '吉娃莲', 'score': 0.13238685, 'baike_info': {}}, {'name': '石莲', 'score': 0.10259825, 'baike_info': {'baike_url': 'http://baike.baidu.com/item/%E7%9F%B3%E8%8E%B2/7535650', 'image_url': 'https://bkimg.cdn.bcebos.com/pic/91ef76c6a7efce1b1ba300ada551f3deb58f65c9', 'description': '石莲(学名：Sinocrassula indica A.Berger)，别名因地卡，为二年生草本植物，全株无毛，具须根。花茎高15-60厘米，直立，常被微乳头状突起。茎生叶互生，宽倒披针状线形至近倒卵形。分布于中国陕，甘，湘，鄂，川，黔，桂，滇，藏等地区。注意：石莲不等于拟石莲花属植物。'}}], 'log_id': 1508789536431497838}\n"
     ]
    }
   ],
   "source": [
    "import requests\n",
    "import base64\n",
    "\n",
    "'''\n",
    "植物识别\n",
    "'''\n",
    "\n",
    "request_url = \"https://aip.baidubce.com/rest/2.0/image-classify/v1/plant\"\n",
    "# 二进制方式打开图片文件\n",
    "f = open('zhiwu.jpg', 'rb')\n",
    "img = base64.b64encode(f.read())\n",
    "\n",
    "payload={\n",
    "    'access_token':access_token,\n",
    "    'image':img,\n",
    "    'baike_num':5,\n",
    "    \"top_num\":5\n",
    "}\n",
    "\n",
    "\n",
    "headers = {'content-type': 'application/x-www-form-urlencoded'}\n",
    "response = requests.post(request_url, data=payload, headers=headers)\n",
    "if response:\n",
    "    print (response.json())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3bafa722",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
